package com.danskin.wechat.entity.example;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WxMediaPlatformExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WxMediaPlatformExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdIsNull() {
            addCriterion("register_open_id is null");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdIsNotNull() {
            addCriterion("register_open_id is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdEqualTo(String value) {
            addCriterion("register_open_id =", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdNotEqualTo(String value) {
            addCriterion("register_open_id <>", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdGreaterThan(String value) {
            addCriterion("register_open_id >", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdGreaterThanOrEqualTo(String value) {
            addCriterion("register_open_id >=", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdLessThan(String value) {
            addCriterion("register_open_id <", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdLessThanOrEqualTo(String value) {
            addCriterion("register_open_id <=", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdLike(String value) {
            addCriterion("register_open_id like", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdNotLike(String value) {
            addCriterion("register_open_id not like", value, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdIn(List<String> values) {
            addCriterion("register_open_id in", values, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdNotIn(List<String> values) {
            addCriterion("register_open_id not in", values, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdBetween(String value1, String value2) {
            addCriterion("register_open_id between", value1, value2, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andRegisterOpenIdNotBetween(String value1, String value2) {
            addCriterion("register_open_id not between", value1, value2, "registerOpenId");
            return (Criteria) this;
        }

        public Criteria andNickNameIsNull() {
            addCriterion("nick_name is null");
            return (Criteria) this;
        }

        public Criteria andNickNameIsNotNull() {
            addCriterion("nick_name is not null");
            return (Criteria) this;
        }

        public Criteria andNickNameEqualTo(String value) {
            addCriterion("nick_name =", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameNotEqualTo(String value) {
            addCriterion("nick_name <>", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameGreaterThan(String value) {
            addCriterion("nick_name >", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameGreaterThanOrEqualTo(String value) {
            addCriterion("nick_name >=", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameLessThan(String value) {
            addCriterion("nick_name <", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameLessThanOrEqualTo(String value) {
            addCriterion("nick_name <=", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameLike(String value) {
            addCriterion("nick_name like", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameNotLike(String value) {
            addCriterion("nick_name not like", value, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameIn(List<String> values) {
            addCriterion("nick_name in", values, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameNotIn(List<String> values) {
            addCriterion("nick_name not in", values, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameBetween(String value1, String value2) {
            addCriterion("nick_name between", value1, value2, "nickName");
            return (Criteria) this;
        }

        public Criteria andNickNameNotBetween(String value1, String value2) {
            addCriterion("nick_name not between", value1, value2, "nickName");
            return (Criteria) this;
        }

        public Criteria andHeadImgIsNull() {
            addCriterion("head_img is null");
            return (Criteria) this;
        }

        public Criteria andHeadImgIsNotNull() {
            addCriterion("head_img is not null");
            return (Criteria) this;
        }

        public Criteria andHeadImgEqualTo(String value) {
            addCriterion("head_img =", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgNotEqualTo(String value) {
            addCriterion("head_img <>", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgGreaterThan(String value) {
            addCriterion("head_img >", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("head_img >=", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgLessThan(String value) {
            addCriterion("head_img <", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgLessThanOrEqualTo(String value) {
            addCriterion("head_img <=", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgLike(String value) {
            addCriterion("head_img like", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgNotLike(String value) {
            addCriterion("head_img not like", value, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgIn(List<String> values) {
            addCriterion("head_img in", values, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgNotIn(List<String> values) {
            addCriterion("head_img not in", values, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgBetween(String value1, String value2) {
            addCriterion("head_img between", value1, value2, "headImg");
            return (Criteria) this;
        }

        public Criteria andHeadImgNotBetween(String value1, String value2) {
            addCriterion("head_img not between", value1, value2, "headImg");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlIsNull() {
            addCriterion("qrcode_url is null");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlIsNotNull() {
            addCriterion("qrcode_url is not null");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlEqualTo(String value) {
            addCriterion("qrcode_url =", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlNotEqualTo(String value) {
            addCriterion("qrcode_url <>", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlGreaterThan(String value) {
            addCriterion("qrcode_url >", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlGreaterThanOrEqualTo(String value) {
            addCriterion("qrcode_url >=", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlLessThan(String value) {
            addCriterion("qrcode_url <", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlLessThanOrEqualTo(String value) {
            addCriterion("qrcode_url <=", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlLike(String value) {
            addCriterion("qrcode_url like", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlNotLike(String value) {
            addCriterion("qrcode_url not like", value, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlIn(List<String> values) {
            addCriterion("qrcode_url in", values, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlNotIn(List<String> values) {
            addCriterion("qrcode_url not in", values, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlBetween(String value1, String value2) {
            addCriterion("qrcode_url between", value1, value2, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andQrcodeUrlNotBetween(String value1, String value2) {
            addCriterion("qrcode_url not between", value1, value2, "qrcodeUrl");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoIsNull() {
            addCriterion("service_type_info is null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoIsNotNull() {
            addCriterion("service_type_info is not null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoEqualTo(Byte value) {
            addCriterion("service_type_info =", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoNotEqualTo(Byte value) {
            addCriterion("service_type_info <>", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoGreaterThan(Byte value) {
            addCriterion("service_type_info >", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoGreaterThanOrEqualTo(Byte value) {
            addCriterion("service_type_info >=", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoLessThan(Byte value) {
            addCriterion("service_type_info <", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoLessThanOrEqualTo(Byte value) {
            addCriterion("service_type_info <=", value, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoIn(List<Byte> values) {
            addCriterion("service_type_info in", values, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoNotIn(List<Byte> values) {
            addCriterion("service_type_info not in", values, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoBetween(Byte value1, Byte value2) {
            addCriterion("service_type_info between", value1, value2, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andServiceTypeInfoNotBetween(Byte value1, Byte value2) {
            addCriterion("service_type_info not between", value1, value2, "serviceTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoIsNull() {
            addCriterion("verify_type_info is null");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoIsNotNull() {
            addCriterion("verify_type_info is not null");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoEqualTo(Byte value) {
            addCriterion("verify_type_info =", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoNotEqualTo(Byte value) {
            addCriterion("verify_type_info <>", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoGreaterThan(Byte value) {
            addCriterion("verify_type_info >", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoGreaterThanOrEqualTo(Byte value) {
            addCriterion("verify_type_info >=", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoLessThan(Byte value) {
            addCriterion("verify_type_info <", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoLessThanOrEqualTo(Byte value) {
            addCriterion("verify_type_info <=", value, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoIn(List<Byte> values) {
            addCriterion("verify_type_info in", values, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoNotIn(List<Byte> values) {
            addCriterion("verify_type_info not in", values, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoBetween(Byte value1, Byte value2) {
            addCriterion("verify_type_info between", value1, value2, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andVerifyTypeInfoNotBetween(Byte value1, Byte value2) {
            addCriterion("verify_type_info not between", value1, value2, "verifyTypeInfo");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameIsNull() {
            addCriterion("principal_name is null");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameIsNotNull() {
            addCriterion("principal_name is not null");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameEqualTo(String value) {
            addCriterion("principal_name =", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameNotEqualTo(String value) {
            addCriterion("principal_name <>", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameGreaterThan(String value) {
            addCriterion("principal_name >", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameGreaterThanOrEqualTo(String value) {
            addCriterion("principal_name >=", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameLessThan(String value) {
            addCriterion("principal_name <", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameLessThanOrEqualTo(String value) {
            addCriterion("principal_name <=", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameLike(String value) {
            addCriterion("principal_name like", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameNotLike(String value) {
            addCriterion("principal_name not like", value, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameIn(List<String> values) {
            addCriterion("principal_name in", values, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameNotIn(List<String> values) {
            addCriterion("principal_name not in", values, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameBetween(String value1, String value2) {
            addCriterion("principal_name between", value1, value2, "principalName");
            return (Criteria) this;
        }

        public Criteria andPrincipalNameNotBetween(String value1, String value2) {
            addCriterion("principal_name not between", value1, value2, "principalName");
            return (Criteria) this;
        }

        public Criteria andAliasIsNull() {
            addCriterion("alias is null");
            return (Criteria) this;
        }

        public Criteria andAliasIsNotNull() {
            addCriterion("alias is not null");
            return (Criteria) this;
        }

        public Criteria andAliasEqualTo(String value) {
            addCriterion("alias =", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotEqualTo(String value) {
            addCriterion("alias <>", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasGreaterThan(String value) {
            addCriterion("alias >", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasGreaterThanOrEqualTo(String value) {
            addCriterion("alias >=", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLessThan(String value) {
            addCriterion("alias <", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLessThanOrEqualTo(String value) {
            addCriterion("alias <=", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasLike(String value) {
            addCriterion("alias like", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotLike(String value) {
            addCriterion("alias not like", value, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasIn(List<String> values) {
            addCriterion("alias in", values, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotIn(List<String> values) {
            addCriterion("alias not in", values, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasBetween(String value1, String value2) {
            addCriterion("alias between", value1, value2, "alias");
            return (Criteria) this;
        }

        public Criteria andAliasNotBetween(String value1, String value2) {
            addCriterion("alias not between", value1, value2, "alias");
            return (Criteria) this;
        }

        public Criteria andTokenIsNull() {
            addCriterion("token is null");
            return (Criteria) this;
        }

        public Criteria andTokenIsNotNull() {
            addCriterion("token is not null");
            return (Criteria) this;
        }

        public Criteria andTokenEqualTo(String value) {
            addCriterion("token =", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotEqualTo(String value) {
            addCriterion("token <>", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThan(String value) {
            addCriterion("token >", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThanOrEqualTo(String value) {
            addCriterion("token >=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThan(String value) {
            addCriterion("token <", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThanOrEqualTo(String value) {
            addCriterion("token <=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLike(String value) {
            addCriterion("token like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotLike(String value) {
            addCriterion("token not like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenIn(List<String> values) {
            addCriterion("token in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotIn(List<String> values) {
            addCriterion("token not in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenBetween(String value1, String value2) {
            addCriterion("token between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotBetween(String value1, String value2) {
            addCriterion("token not between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyIsNull() {
            addCriterion("encoding_aes_key is null");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyIsNotNull() {
            addCriterion("encoding_aes_key is not null");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyEqualTo(String value) {
            addCriterion("encoding_aes_key =", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyNotEqualTo(String value) {
            addCriterion("encoding_aes_key <>", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyGreaterThan(String value) {
            addCriterion("encoding_aes_key >", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyGreaterThanOrEqualTo(String value) {
            addCriterion("encoding_aes_key >=", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyLessThan(String value) {
            addCriterion("encoding_aes_key <", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyLessThanOrEqualTo(String value) {
            addCriterion("encoding_aes_key <=", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyLike(String value) {
            addCriterion("encoding_aes_key like", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyNotLike(String value) {
            addCriterion("encoding_aes_key not like", value, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyIn(List<String> values) {
            addCriterion("encoding_aes_key in", values, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyNotIn(List<String> values) {
            addCriterion("encoding_aes_key not in", values, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyBetween(String value1, String value2) {
            addCriterion("encoding_aes_key between", value1, value2, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andEncodingAesKeyNotBetween(String value1, String value2) {
            addCriterion("encoding_aes_key not between", value1, value2, "encodingAesKey");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNull() {
            addCriterion("app_id is null");
            return (Criteria) this;
        }

        public Criteria andAppIdIsNotNull() {
            addCriterion("app_id is not null");
            return (Criteria) this;
        }

        public Criteria andAppIdEqualTo(String value) {
            addCriterion("app_id =", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotEqualTo(String value) {
            addCriterion("app_id <>", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThan(String value) {
            addCriterion("app_id >", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdGreaterThanOrEqualTo(String value) {
            addCriterion("app_id >=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThan(String value) {
            addCriterion("app_id <", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLessThanOrEqualTo(String value) {
            addCriterion("app_id <=", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdLike(String value) {
            addCriterion("app_id like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotLike(String value) {
            addCriterion("app_id not like", value, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdIn(List<String> values) {
            addCriterion("app_id in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotIn(List<String> values) {
            addCriterion("app_id not in", values, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdBetween(String value1, String value2) {
            addCriterion("app_id between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppIdNotBetween(String value1, String value2) {
            addCriterion("app_id not between", value1, value2, "appId");
            return (Criteria) this;
        }

        public Criteria andAppSecretIsNull() {
            addCriterion("app_secret is null");
            return (Criteria) this;
        }

        public Criteria andAppSecretIsNotNull() {
            addCriterion("app_secret is not null");
            return (Criteria) this;
        }

        public Criteria andAppSecretEqualTo(String value) {
            addCriterion("app_secret =", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretNotEqualTo(String value) {
            addCriterion("app_secret <>", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretGreaterThan(String value) {
            addCriterion("app_secret >", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretGreaterThanOrEqualTo(String value) {
            addCriterion("app_secret >=", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretLessThan(String value) {
            addCriterion("app_secret <", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretLessThanOrEqualTo(String value) {
            addCriterion("app_secret <=", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretLike(String value) {
            addCriterion("app_secret like", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretNotLike(String value) {
            addCriterion("app_secret not like", value, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretIn(List<String> values) {
            addCriterion("app_secret in", values, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretNotIn(List<String> values) {
            addCriterion("app_secret not in", values, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretBetween(String value1, String value2) {
            addCriterion("app_secret between", value1, value2, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAppSecretNotBetween(String value1, String value2) {
            addCriterion("app_secret not between", value1, value2, "appSecret");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIsNull() {
            addCriterion("access_token is null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIsNotNull() {
            addCriterion("access_token is not null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenEqualTo(String value) {
            addCriterion("access_token =", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotEqualTo(String value) {
            addCriterion("access_token <>", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenGreaterThan(String value) {
            addCriterion("access_token >", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenGreaterThanOrEqualTo(String value) {
            addCriterion("access_token >=", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLessThan(String value) {
            addCriterion("access_token <", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLessThanOrEqualTo(String value) {
            addCriterion("access_token <=", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenLike(String value) {
            addCriterion("access_token like", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotLike(String value) {
            addCriterion("access_token not like", value, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenIn(List<String> values) {
            addCriterion("access_token in", values, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotIn(List<String> values) {
            addCriterion("access_token not in", values, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenBetween(String value1, String value2) {
            addCriterion("access_token between", value1, value2, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenNotBetween(String value1, String value2) {
            addCriterion("access_token not between", value1, value2, "accessToken");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresIsNull() {
            addCriterion("access_token_expires is null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresIsNotNull() {
            addCriterion("access_token_expires is not null");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresEqualTo(Date value) {
            addCriterion("access_token_expires =", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresNotEqualTo(Date value) {
            addCriterion("access_token_expires <>", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresGreaterThan(Date value) {
            addCriterion("access_token_expires >", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresGreaterThanOrEqualTo(Date value) {
            addCriterion("access_token_expires >=", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresLessThan(Date value) {
            addCriterion("access_token_expires <", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresLessThanOrEqualTo(Date value) {
            addCriterion("access_token_expires <=", value, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresIn(List<Date> values) {
            addCriterion("access_token_expires in", values, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresNotIn(List<Date> values) {
            addCriterion("access_token_expires not in", values, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresBetween(Date value1, Date value2) {
            addCriterion("access_token_expires between", value1, value2, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andAccessTokenExpiresNotBetween(Date value1, Date value2) {
            addCriterion("access_token_expires not between", value1, value2, "accessTokenExpires");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenIsNull() {
            addCriterion("refresh_token is null");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenIsNotNull() {
            addCriterion("refresh_token is not null");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenEqualTo(String value) {
            addCriterion("refresh_token =", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenNotEqualTo(String value) {
            addCriterion("refresh_token <>", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenGreaterThan(String value) {
            addCriterion("refresh_token >", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenGreaterThanOrEqualTo(String value) {
            addCriterion("refresh_token >=", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenLessThan(String value) {
            addCriterion("refresh_token <", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenLessThanOrEqualTo(String value) {
            addCriterion("refresh_token <=", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenLike(String value) {
            addCriterion("refresh_token like", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenNotLike(String value) {
            addCriterion("refresh_token not like", value, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenIn(List<String> values) {
            addCriterion("refresh_token in", values, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenNotIn(List<String> values) {
            addCriterion("refresh_token not in", values, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenBetween(String value1, String value2) {
            addCriterion("refresh_token between", value1, value2, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andRefreshTokenNotBetween(String value1, String value2) {
            addCriterion("refresh_token not between", value1, value2, "refreshToken");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketIsNull() {
            addCriterion("jsapi_ticket is null");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketIsNotNull() {
            addCriterion("jsapi_ticket is not null");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketEqualTo(String value) {
            addCriterion("jsapi_ticket =", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketNotEqualTo(String value) {
            addCriterion("jsapi_ticket <>", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketGreaterThan(String value) {
            addCriterion("jsapi_ticket >", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketGreaterThanOrEqualTo(String value) {
            addCriterion("jsapi_ticket >=", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketLessThan(String value) {
            addCriterion("jsapi_ticket <", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketLessThanOrEqualTo(String value) {
            addCriterion("jsapi_ticket <=", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketLike(String value) {
            addCriterion("jsapi_ticket like", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketNotLike(String value) {
            addCriterion("jsapi_ticket not like", value, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketIn(List<String> values) {
            addCriterion("jsapi_ticket in", values, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketNotIn(List<String> values) {
            addCriterion("jsapi_ticket not in", values, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketBetween(String value1, String value2) {
            addCriterion("jsapi_ticket between", value1, value2, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketNotBetween(String value1, String value2) {
            addCriterion("jsapi_ticket not between", value1, value2, "jsapiTicket");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresIsNull() {
            addCriterion("jsapi_ticket_expires is null");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresIsNotNull() {
            addCriterion("jsapi_ticket_expires is not null");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresEqualTo(Date value) {
            addCriterion("jsapi_ticket_expires =", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresNotEqualTo(Date value) {
            addCriterion("jsapi_ticket_expires <>", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresGreaterThan(Date value) {
            addCriterion("jsapi_ticket_expires >", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresGreaterThanOrEqualTo(Date value) {
            addCriterion("jsapi_ticket_expires >=", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresLessThan(Date value) {
            addCriterion("jsapi_ticket_expires <", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresLessThanOrEqualTo(Date value) {
            addCriterion("jsapi_ticket_expires <=", value, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresIn(List<Date> values) {
            addCriterion("jsapi_ticket_expires in", values, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresNotIn(List<Date> values) {
            addCriterion("jsapi_ticket_expires not in", values, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresBetween(Date value1, Date value2) {
            addCriterion("jsapi_ticket_expires between", value1, value2, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andJsapiTicketExpiresNotBetween(Date value1, Date value2) {
            addCriterion("jsapi_ticket_expires not between", value1, value2, "jsapiTicketExpires");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNull() {
            addCriterion("created_time is null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNotNull() {
            addCriterion("created_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeEqualTo(Date value) {
            addCriterion("created_time =", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotEqualTo(Date value) {
            addCriterion("created_time <>", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThan(Date value) {
            addCriterion("created_time >", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("created_time >=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThan(Date value) {
            addCriterion("created_time <", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("created_time <=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIn(List<Date> values) {
            addCriterion("created_time in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotIn(List<Date> values) {
            addCriterion("created_time not in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
            addCriterion("created_time between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("created_time not between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIsNull() {
            addCriterion("last_modified_time is null");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIsNotNull() {
            addCriterion("last_modified_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeEqualTo(Date value) {
            addCriterion("last_modified_time =", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotEqualTo(Date value) {
            addCriterion("last_modified_time <>", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThan(Date value) {
            addCriterion("last_modified_time >", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_modified_time >=", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThan(Date value) {
            addCriterion("last_modified_time <", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_modified_time <=", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIn(List<Date> values) {
            addCriterion("last_modified_time in", values, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotIn(List<Date> values) {
            addCriterion("last_modified_time not in", values, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeBetween(Date value1, Date value2) {
            addCriterion("last_modified_time between", value1, value2, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_modified_time not between", value1, value2, "lastModifiedTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}